import Vue from 'vue'
import Vuex from 'vuex'
import vuexPersist from 'vuex-persist'
Vue.use(Vuex)

export default new Vuex.Store({
  // 定义状态
  state: {
    list: [],
  },
  // 方法 同步进行
  mutations: {
    // 添加
    add(state, item) {
      var flag = false
      state.list.forEach(ele => {
        if (item._id == ele._id) {
          item.count++;
          flag = true
        }
      })
      if (flag == false) {
        item.count = 1;
        state.list.push(item);
      }
    },
    // 删除
    del(state, id) {
      state.list.forEach((item, index) => {
        if (item._id == id) {
          state.list.splice(index, 1)
        }
      })
    },
    // 选择删除
    remove(state, ele) {
      state.list = state.list.filter(item => {
        if (ele.indexOf(item._id) == -1) {
          return item;
        }
      })
    },
    // 数量
    counts(state, item) {
      state.list.forEach(ele => {
        if (ele._id == item._id) {
          ele.count = item.count;
        }
      })
    },

  },
  // 计算
  getters: {

  },
  // 方法  异步
  actions: {
  },
  // 分类
  modules: {
  },
  // 本地存储
  plugins: [
    new vuexPersist({
      storage: window.localStorage,
    }).plugin
  ]
})
